package com.bjmashibing.system.OSFileIO.io_demo.InputOrOutput;

import java.io.File;
import java.io.IOException;

public class FileDemo {
    public static void main(String[] args) throws IOException {
        File file=new File("src/Java_IO/io_demo/Resources/abc.txt");
        //创建文件
        file.createNewFile();

        //判断文件的属性，都会返回Boolean类型的值
        file.canExecute();
        file.canRead();
        file.canWrite();
        file.exists();
        file.getName();
        file.getAbsolutePath();//获取文件的绝对路径
        file.getParent();//父路径
        file.getCanonicalPath();//返回文件绝对路径的规范格式
        System.out.println(File.separator);//返回操作系统下的文件路径的分割符



        File file2=new File("E:\\queue");
        String[] list = file2.list();
        File[] files = file2.listFiles();
        File[] filesX = File.listRoots();//打印当前系统的所有盘符
        file2.mkdir();//创建单级目录
        file2.mkdirs();//创建多级目录

        //循环遍历C盘中的所有文件的绝对路径（递归）
        listAllPathOfC(file2);

    }


    //循环遍历C盘中的所有文件的绝对路径（递归）
    public static void listAllPathOfC(File file){

        //递归出口
        if (file.isFile()){
            System.out.println(file.getAbsolutePath());
        }

        //递归体(此处需要加上是否为Directory的判断，要不然会空指针)
        if (file.isDirectory()){
            File[] files = file.listFiles();
            for (File fil:files){
                listAllPathOfC(fil);
            }
        }


    }
}
